<template>
  <el-container class="home_container">
    <el-header>
      <div class="home_title">网上书城</div>
      <div class="home_userinfoContainer">
        <el-dropdown @command="handleCommand">
          <span class="el-dropdown-link home_userinfo">
            {{ currentUserName
            }}<i class="el-icon-arrow-down el-icon--right home_userinfo"></i>
          </span>
          <el-dropdown-menu slot="dropdown">
            <el-dropdown-item v-if="state == true" command="end"
              >切换到后台管理</el-dropdown-item
            >
            <el-dropdown-item v-else command="front"
              >切换到前台管理</el-dropdown-item
            >
            <el-dropdown-item command="logout" divided
              >退出登录</el-dropdown-item
            >
          </el-dropdown-menu>
        </el-dropdown>
      </div>
    </el-header>
    <el-container>
      <el-aside width="200px">
        <el-menu
          default-active="0"
          v-if="isShow"
          class="el-menu-vertical-demo"
          style="background-color: #ECECEC"
          router
        >
          <template
            v-for="(item, index) in this.$router.options.routes"
            v-if="!item.hidden"
          >
            <el-submenu
              :index="index + ''"
              v-if="item.children.length > 1"
              :key="index"
            >
              <template slot="title">
                <i :class="item.iconCls"></i>
                <span>{{ item.name }}</span>
              </template>
              <el-menu-item
                v-for="child in item.children"
                v-if="!child.hidden"
                :index="child.path"
                :key="child.path"
              >
                {{ child.name }}
              </el-menu-item>
            </el-submenu>
            <template v-else>
              <el-menu-item :index="item.children[0].path">
                <i :class="item.children[0].iconCls"></i>
                <span slot="title">{{ item.children[0].name }}</span>
              </el-menu-item>
            </template>
          </template>
        </el-menu>
      </el-aside>
      <el-container>
        <el-main>
          <el-breadcrumb separator-class="el-icon-arrow-right">
            <el-breadcrumb-item :to="{ path: '/home' }"
              >首页</el-breadcrumb-item
            >
            <el-breadcrumb-item
              v-text="this.$router.currentRoute.name"
            ></el-breadcrumb-item>
          </el-breadcrumb>
          <keep-alive>
            <router-view v-if="this.$route.meta.keepAlive"></router-view>
          </keep-alive>
          <router-view v-if="!this.$route.meta.keepAlive"></router-view>
        </el-main>
      </el-container>
    </el-container>
  </el-container>
</template>
<script>
import { getRequest } from "../utils/api";
import { getCookieByKey } from '../utils/cookies';
import { getAllCookies } from '../utils/cookies';
export default {
  methods: {
    handleCommand(command) {
      var _this = this;
      if (command == "logout") {
        this.$confirm("注销登录吗?", "提示", {
          confirmButtonText: "确定",
          cancelButtonText: "取消",
          type: "warning"
        }).then(
          function() {
            _this.$store.commit("logout");
            _this.currentUserName = "游客";
            _this.$router.replace({ path: "/" });
          },
          function() {
            //取消
          }
        );
      } else if (command == "end") {
        let routes = _this.$router.options.routes;
        for (let i = 0; i < routes.length; i++) {
          if (routes[i].name == "书籍管理") {
            console.log("找到了");
            _this.$router.options.routes[i].hidden = false;
          } else if (routes[i].name == "书籍展示") {
            _this.$router.options.routes[i].hidden = true;
          } else if (routes[i].name == "购物车") {
            _this.$router.options.routes[i].hidden = true;
          } else if (routes[i].name == "我的订单") {
            _this.$router.options.routes[i].hidden = true;
          }
        }
        _this.state = false;
        _this.reload();
        _this.$router.replace("/bookMana");
      } else if (command == "front") {
        let routes = _this.$router.options.routes;
        for (let i = 0; i < routes.length; i++) {
          if (routes[i].name == "书籍管理") {
            _this.$router.options.routes[i].hidden = true;
          } else if (routes[i].name == "书籍展示") {
            _this.$router.options.routes[i].hidden = false;
          } else if (routes[i].name == "购物车") {
            _this.$router.options.routes[i].hidden = false;
          } else if (routes[i].name == "我的订单") {
            _this.$router.options.routes[i].hidden = false;
          }
        }
        _this.state = true;
        _this.reload();
        _this.$router.replace("/book");
      }
    },
    reload() {
      this.isShow = false;
      this.$nextTick(() => {
        this.isShow = true;
      });
    }
  },
  mounted: function() {
    //   this.$alert('为了确保大家的资金安全，请大家不要随意消费，这点请大家悉知!', '友情提示', {
    //     confirmButtonText: '确定',
    //     callback: action => {
    //     }
    //   });
    // if(getCookieByKey('userId') != null && getCookieByKey('userId') != undefined &&getCookieByKey('userId') != '') {
    //     this.$store.commit('reload',{userId:getCookieByKey('userId'), userName:getCookieByKey('userName')});
    // }
    var _this = this;
    let userName = this.$store.state.nickname;
    if (userName != null && userName != undefined) {
      this.currentUserName = userName;
    } else {
      this.currentUserName = "游客";
    }
  },
  data() {
    return {
      currentUserName: "",
      isShow: true,
      state: true
    };
  }
};
</script>
<style>
.home_container {
  height: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
}

.el-header {
  background-color: #20a0ff;
  color: #333;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.el-aside {
  background-color: #ececec;
}

.el-main {
  background-color: #fff;
  color: #000;
  text-align: center;
}

.home_title {
  color: #fff;
  font-size: 22px;
  display: inline;
}

.home_userinfo {
  color: #fff;
  cursor: pointer;
}

.home_userinfoContainer {
  display: inline;
  margin-right: 20px;
}
</style>
